package com.ruoyi.mes.material.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.mes.material.mapper.SmesMaterialOutInBillDetailMapper;
import com.ruoyi.mes.material.domain.SmesMaterialOutInBillDetail;
import com.ruoyi.mes.material.service.ISmesMaterialOutInBillDetailService;

/**
 * 原料出入库订单明细管理Service业务层处理
 *
 * @author simpsense
 * @date 2020-12-16
 */
@Service
public class SmesMaterialOutInBillDetailServiceImpl implements ISmesMaterialOutInBillDetailService
{
    @Autowired
    private SmesMaterialOutInBillDetailMapper smesMaterialOutInBillDetailMapper;

    /**
     * 查询原料出入库订单明细管理
     *
     * @param rowId 原料出入库订单明细管理ID
     * @return 原料出入库订单明细管理
     */
    @Override
    public SmesMaterialOutInBillDetail selectSmesMaterialOutInBillDetailById(Long rowId)
    {
        return smesMaterialOutInBillDetailMapper.selectSmesMaterialOutInBillDetailById(rowId);
    }

    /**
     * 查询原料出入库订单明细管理列表
     *
     * @param smesMaterialOutInBillDetail 原料出入库订单明细管理
     * @return 原料出入库订单明细管理
     */
    @Override
    public List<SmesMaterialOutInBillDetail> selectSmesMaterialOutInBillDetailList(SmesMaterialOutInBillDetail smesMaterialOutInBillDetail)
    {
        return smesMaterialOutInBillDetailMapper.selectSmesMaterialOutInBillDetailList(smesMaterialOutInBillDetail);
    }

    /**
     * 新增原料出入库订单明细管理
     *
     * @param smesMaterialOutInBillDetail 原料出入库订单明细管理
     * @return 结果
     */
    @Override
    public int insertSmesMaterialOutInBillDetail(SmesMaterialOutInBillDetail smesMaterialOutInBillDetail)
    {
        smesMaterialOutInBillDetail.setCreateTime(DateUtils.getNowDate());
        smesMaterialOutInBillDetail.setCreateBy(SecurityUtils.getUsername());
        return smesMaterialOutInBillDetailMapper.insertSmesMaterialOutInBillDetail(smesMaterialOutInBillDetail);
    }

    /**
     * 修改原料出入库订单明细管理
     *
     * @param smesMaterialOutInBillDetail 原料出入库订单明细管理
     * @return 结果
     */
    @Override
    public int updateSmesMaterialOutInBillDetail(SmesMaterialOutInBillDetail smesMaterialOutInBillDetail)
    {
        smesMaterialOutInBillDetail.setUpdateTime(DateUtils.getNowDate());
        smesMaterialOutInBillDetail.setUpdateBy(SecurityUtils.getUsername());
        return smesMaterialOutInBillDetailMapper.updateSmesMaterialOutInBillDetail(smesMaterialOutInBillDetail);
    }

    /**
     * 批量删除原料出入库订单明细管理
     *
     * @param rowIds 需要删除的原料出入库订单明细管理ID
     * @return 结果
     */
    @Override
    public int deleteSmesMaterialOutInBillDetailByIds(Long[] rowIds)
    {
        return smesMaterialOutInBillDetailMapper.deleteSmesMaterialOutInBillDetailByIds(rowIds);
    }

    /**
     * 删除原料出入库订单明细管理信息
     *
     * @param rowId 原料出入库订单明细管理ID
     * @return 结果
     */
    @Override
    public int deleteSmesMaterialOutInBillDetailById(Long rowId)
    {
        return smesMaterialOutInBillDetailMapper.deleteSmesMaterialOutInBillDetailById(rowId);
    }
}